package com.jay.registry;

import com.jay.model.ServiceMetaInfo;

import java.util.List;

/**
 * 注册中心服务本地缓存
 * 用于存储和服务发现过程中的服务元信息缓存
 */
public class RegistryServiceCache {

    /**
     * 服务缓存
     * 存储当前已知的服务元信息列表
     */
    List<ServiceMetaInfo> serviceCache;

    /**
     * 写缓存
     * 更新服务缓存中的服务元信息列表
     *
     * @param newServiceCache 新的服务元信息列表
     */
    void writeCache(List<ServiceMetaInfo> newServiceCache) {
        this.serviceCache = newServiceCache;
    }

    /**
     * 读缓存
     * 获取当前缓存中的服务元信息列表
     *
     * @return 当前缓存的服务元信息列表
     */
    List<ServiceMetaInfo> readCache() {
        return this.serviceCache;
    }

    /**
     * 清空缓存
     * 将服务缓存置为空，用于在需要时清除所有缓存的服务元信息
     */
    void clearCache() {
        this.serviceCache = null;
    }
}
